package com.centerm.structure.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.centerm.structure.domain.UserRole;
import com.centerm.structure.dto.RoleInfo;
import com.centerm.structure.dto.UserRoleInfo;

/**
* @ClassName: UserRoleDao
* @Description: 用户角色关系数据层接口
* @author czy
* @date 2017年8月10日
 */
@Repository
public interface UserRoleDao {
	/**
	* @Description: 根据id删除记录
	* @author czy
	* @date 2017年8月10日
	* @param id
	* @return int
	 */
    int deleteById(Integer id);

    /**
     * @Description: 新增记录
     * @author czy
     * @date 2017年8月10日
     * @param record 用户角色关系记录
     * @return int
      */
    int insert(UserRole record);

    /**
     * @Description: 根据id获取记录
     * @author czy
     * @date 2017年8月10日
     * @param id
     * @return 记录
      */
    UserRole getById(Integer id);

    /**
     * @Description: 更新记录（只针对非空字段）
     * @author czy
     * @date 2017年8月10日
     * @param record 记录
     * @return int
      */
    int update(UserRole record);

    /**
     * @Description 根据条件查询记录列表
     * @author czy
     * @date 2017年8月16日
     * @param UserRoleInfo record
     * @return List<RoleInfo>
     */
	List<UserRoleInfo> listByParam(UserRoleInfo record);
	
	/**
     * @Description 根据用户id获取角色列表
     * @author czy
     * @date 2017年8月16日
     * @param UserRoleInfo record
     * @return List<RoleInfo>
     */
	List<RoleInfo> listByUserId(UserRoleInfo record);

	/**
     * @Description 根据用户id删除角色
     * @author czy
     * @date 2017年8月16日
     * @param userId 用户id
     * @return result 删除的记录数
     */
	Integer deleteByUserId(Integer userId);
}